package com.tarena.luban.demo.gateway.filters;

import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

public class MyFilter02 implements GlobalFilter, Ordered {
    /**
     * @param exchange 包含了当前网关进入这个过滤器的所有网络数据 比如 请求对象 比如响应对象
     * @param chain 因为过滤器不止一个,联通上下过滤器的对象的属性 就是这个过滤链
     * @return 定义了过滤器生效的效果 可以通过,可以截停,抛异常
     */
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        //当前过滤器没有任何过滤逻辑
        System.out.println("经过了myFilter02");
        //返回请求通过的数据
        return chain.filter(exchange);
    }
    @Override
    public int getOrder() {
        return 0;
    }
}
